/*      */ package com.cr.common.core.text;
/*      */ 
/*      */ import com.cr.common.utils.MyStringUtils;
/*      */ import java.math.BigDecimal;
/*      */ import java.math.BigInteger;
/*      */ import java.nio.ByteBuffer;
/*      */ import java.nio.charset.Charset;
/*      */ import java.text.NumberFormat;
/*      */ import java.util.Set;
/*      */ import org.apache.commons.lang3.ArrayUtils;
/*      */ @SuppressWarnings("unchecked")
/*      */ public class Convert {
/*      */   public static String toStr(Object value, String defaultValue) {
/*   30 */     if (null == value)
/*   32 */       return defaultValue; 
/*   34 */     if (value instanceof String)
/*   36 */       return (String)value; 
/*   38 */     return value.toString();
/*      */   }
/*      */   
/*      */   public static String toStr(Object value) {
/*   51 */     return toStr(value, null);
/*      */   }
/*      */   
/*      */   public static Character toChar(Object value, Character defaultValue) {
/*   65 */     if (null == value)
/*   67 */       return defaultValue; 
/*   69 */     if (value instanceof Character)
/*   71 */       return (Character)value; 
/*   74 */     String valueStr = toStr(value, null);
/*   75 */     return Character.valueOf(MyStringUtils.isEmpty(valueStr) ? defaultValue.charValue() : valueStr.charAt(0));
/*      */   }
/*      */   
/*      */   public static Character toChar(Object value) {
/*   88 */     return toChar(value, null);
/*      */   }
/*      */   
/*      */   public static Byte toByte(Object value, Byte defaultValue) {
/*  102 */     if (value == null)
/*  104 */       return defaultValue; 
/*  106 */     if (value instanceof Byte)
/*  108 */       return (Byte)value; 
/*  110 */     if (value instanceof Number)
/*  112 */       return Byte.valueOf(((Number)value).byteValue()); 
/*  114 */     String valueStr = toStr(value, null);
/*  115 */     if (MyStringUtils.isEmpty(valueStr))
/*  117 */       return defaultValue; 
/*      */     try {
/*  121 */       return Byte.valueOf(Byte.parseByte(valueStr));
/*  123 */     } catch (Exception e) {
/*  125 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static Byte toByte(Object value) {
/*  139 */     return toByte(value, null);
/*      */   }
/*      */   
/*      */   public static Short toShort(Object value, Short defaultValue) {
/*  153 */     if (value == null)
/*  155 */       return defaultValue; 
/*  157 */     if (value instanceof Short)
/*  159 */       return (Short)value; 
/*  161 */     if (value instanceof Number)
/*  163 */       return Short.valueOf(((Number)value).shortValue()); 
/*  165 */     String valueStr = toStr(value, null);
/*  166 */     if (MyStringUtils.isEmpty(valueStr))
/*  168 */       return defaultValue; 
/*      */     try {
/*  172 */       return Short.valueOf(Short.parseShort(valueStr.trim()));
/*  174 */     } catch (Exception e) {
/*  176 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static Short toShort(Object value) {
/*  190 */     return toShort(value, null);
/*      */   }
/*      */   
/*      */   public static Number toNumber(Object value, Number defaultValue) {
/*  204 */     if (value == null)
/*  206 */       return defaultValue; 
/*  208 */     if (value instanceof Number)
/*  210 */       return (Number)value; 
/*  212 */     String valueStr = toStr(value, null);
/*  213 */     if (MyStringUtils.isEmpty(valueStr))
/*  215 */       return defaultValue; 
/*      */     try {
/*  219 */       return NumberFormat.getInstance().parse(valueStr);
/*  221 */     } catch (Exception e) {
/*  223 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static Number toNumber(Object value) {
/*  237 */     return toNumber(value, null);
/*      */   }
/*      */   
/*      */   public static Integer toInt(Object value, Integer defaultValue) {
/*  251 */     if (value == null)
/*  253 */       return defaultValue; 
/*  255 */     if (value instanceof Integer)
/*  257 */       return (Integer)value; 
/*  259 */     if (value instanceof Number)
/*  261 */       return Integer.valueOf(((Number)value).intValue()); 
/*  263 */     String valueStr = toStr(value, null);
/*  264 */     if (MyStringUtils.isEmpty(valueStr))
/*  266 */       return defaultValue; 
/*      */     try {
/*  270 */       return Integer.valueOf(Integer.parseInt(valueStr.trim()));
/*  272 */     } catch (Exception e) {
/*  274 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static Integer toInt(Object value) {
/*  288 */     return toInt(value, null);
/*      */   }
/*      */   
/*      */   public static Integer[] toIntArray(String str) {
/*  299 */     return toIntArray(",", str);
/*      */   }
/*      */   
/*      */   public static Long[] toLongArray(String str) {
/*  310 */     return toLongArray(",", str);
/*      */   }
/*      */   
/*      */   public static Integer[] toIntArray(String split, String str) {
/*  322 */     if (MyStringUtils.isEmpty(str))
/*  324 */       return new Integer[0]; 
/*  326 */     String[] arr = str.split(split);
/*  327 */     Integer[] ints = new Integer[arr.length];
/*  328 */     for (int i = 0; i < arr.length; i++) {
/*  330 */       Integer v = toInt(arr[i], Integer.valueOf(0));
/*  331 */       ints[i] = v;
/*      */     } 
/*  333 */     return ints;
/*      */   }
/*      */   
/*      */   public static Long[] toLongArray(String split, String str) {
/*  345 */     if (MyStringUtils.isEmpty(str))
/*  347 */       return new Long[0]; 
/*  349 */     String[] arr = str.split(split);
/*  350 */     Long[] longs = new Long[arr.length];
/*  351 */     for (int i = 0; i < arr.length; i++) {
/*  353 */       Long v = toLong(arr[i], null);
/*  354 */       longs[i] = v;
/*      */     } 
/*  356 */     return longs;
/*      */   }
/*      */   
/*      */   public static String[] toStrArray(String str) {
/*  367 */     return toStrArray(",", str);
/*      */   }
/*      */   
/*      */   public static String[] toStrArray(String split, String str) {
/*  379 */     return str.split(split);
/*      */   }
/*      */   
/*      */   public static Long toLong(Object value, Long defaultValue) {
/*  393 */     if (value == null)
/*  395 */       return defaultValue; 
/*  397 */     if (value instanceof Long)
/*  399 */       return (Long)value; 
/*  401 */     if (value instanceof Number)
/*  403 */       return Long.valueOf(((Number)value).longValue()); 
/*  405 */     String valueStr = toStr(value, null);
/*  406 */     if (MyStringUtils.isEmpty(valueStr))
/*  408 */       return defaultValue; 
/*      */     try {
/*  413 */       return Long.valueOf((new BigDecimal(valueStr.trim())).longValue());
/*  415 */     } catch (Exception e) {
/*  417 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static Long toLong(Object value) {
/*  431 */     return toLong(value, null);
/*      */   }
/*      */   
/*      */   public static Double toDouble(Object value, Double defaultValue) {
/*  445 */     if (value == null)
/*  447 */       return defaultValue; 
/*  449 */     if (value instanceof Double)
/*  451 */       return (Double)value; 
/*  453 */     if (value instanceof Number)
/*  455 */       return Double.valueOf(((Number)value).doubleValue()); 
/*  457 */     String valueStr = toStr(value, null);
/*  458 */     if (MyStringUtils.isEmpty(valueStr))
/*  460 */       return defaultValue; 
/*      */     try {
/*  465 */       return Double.valueOf((new BigDecimal(valueStr.trim())).doubleValue());
/*  467 */     } catch (Exception e) {
/*  469 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static Double toDouble(Object value) {
/*  483 */     return toDouble(value, null);
/*      */   }
/*      */   
/*      */   public static Float toFloat(Object value, Float defaultValue) {
/*  497 */     if (value == null)
/*  499 */       return defaultValue; 
/*  501 */     if (value instanceof Float)
/*  503 */       return (Float)value; 
/*  505 */     if (value instanceof Number)
/*  507 */       return Float.valueOf(((Number)value).floatValue()); 
/*  509 */     String valueStr = toStr(value, null);
/*  510 */     if (MyStringUtils.isEmpty(valueStr))
/*  512 */       return defaultValue; 
/*      */     try {
/*  516 */       return Float.valueOf(Float.parseFloat(valueStr.trim()));
/*  518 */     } catch (Exception e) {
/*  520 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static Float toFloat(Object value) {
/*  534 */     return toFloat(value, null);
/*      */   }
/*      */   
/*      */   public static Boolean toBool(Object value, Boolean defaultValue) {
/*  548 */     if (value == null)
/*  550 */       return defaultValue; 
/*  552 */     if (value instanceof Boolean)
/*  554 */       return (Boolean)value; 
/*  556 */     String valueStr = toStr(value, null);
/*  557 */     if (MyStringUtils.isEmpty(valueStr))
/*  559 */       return defaultValue; 
/*  561 */     valueStr = valueStr.trim().toLowerCase();
/*  562 */     switch (valueStr) {
/*      */       case "true":
/*  565 */         return Boolean.valueOf(true);
/*      */       case "false":
/*  567 */         return Boolean.valueOf(false);
/*      */       case "yes":
/*  569 */         return Boolean.valueOf(true);
/*      */       case "ok":
/*  571 */         return Boolean.valueOf(true);
/*      */       case "no":
/*  573 */         return Boolean.valueOf(false);
/*      */       case "1":
/*  575 */         return Boolean.valueOf(true);
/*      */       case "0":
/*  577 */         return Boolean.valueOf(false);
/*      */     } 
/*  579 */     return defaultValue;
/*      */   }
/*      */   
/*      */   public static Boolean toBool(Object value) {
/*  593 */     return toBool(value, null);
/*      */   }
/*      */   
/*      */   public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value, E defaultValue) {
/*  607 */     if (value == null)
/*  609 */       return defaultValue; 
/*  611 */     if (clazz.isAssignableFrom(value.getClass()))
/*  614 */       return (E)value; 
/*  617 */     String valueStr = toStr(value, null);
/*  618 */     if (MyStringUtils.isEmpty(valueStr))
/*  620 */       return defaultValue; 
/*      */     try {
/*  624 */       return Enum.valueOf(clazz, valueStr);
/*  626 */     } catch (Exception e) {
/*  628 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value) {
/*  642 */     return toEnum(clazz, value, null);
/*      */   }
/*      */   
/*      */   public static BigInteger toBigInteger(Object value, BigInteger defaultValue) {
/*  656 */     if (value == null)
/*  658 */       return defaultValue; 
/*  660 */     if (value instanceof BigInteger)
/*  662 */       return (BigInteger)value; 
/*  664 */     if (value instanceof Long)
/*  666 */       return BigInteger.valueOf(((Long)value).longValue()); 
/*  668 */     String valueStr = toStr(value, null);
/*  669 */     if (MyStringUtils.isEmpty(valueStr))
/*  671 */       return defaultValue; 
/*      */     try {
/*  675 */       return new BigInteger(valueStr);
/*  677 */     } catch (Exception e) {
/*  679 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static BigInteger toBigInteger(Object value) {
/*  693 */     return toBigInteger(value, null);
/*      */   }
/*      */   
/*      */   public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) {
/*  707 */     if (value == null)
/*  709 */       return defaultValue; 
/*  711 */     if (value instanceof BigDecimal)
/*  713 */       return (BigDecimal)value; 
/*  715 */     if (value instanceof Long)
/*  717 */       return new BigDecimal(((Long)value).longValue()); 
/*  719 */     if (value instanceof Double)
/*  721 */       return new BigDecimal(((Double)value).doubleValue()); 
/*  723 */     if (value instanceof Integer)
/*  725 */       return new BigDecimal(((Integer)value).intValue()); 
/*  727 */     String valueStr = toStr(value, null);
/*  728 */     if (MyStringUtils.isEmpty(valueStr))
/*  730 */       return defaultValue; 
/*      */     try {
/*  734 */       return new BigDecimal(valueStr);
/*  736 */     } catch (Exception e) {
/*  738 */       return defaultValue;
/*      */     } 
/*      */   }
/*      */   
/*      */   public static BigDecimal toBigDecimal(Object value) {
/*  752 */     return toBigDecimal(value, null);
/*      */   }
/*      */   
/*      */   public static String utf8Str(Object obj) {
/*  764 */     return str(obj, CharsetKit.CHARSET_UTF_8);
/*      */   }
/*      */   
/*      */   public static String str(Object obj, String charsetName) {
/*  777 */     return str(obj, Charset.forName(charsetName));
/*      */   }
/*      */   
/*      */   public static String str(Object obj, Charset charset) {
/*  790 */     if (null == obj)
/*  792 */       return null; 
/*  795 */     if (obj instanceof String)
/*  797 */       return (String)obj; 
/*  799 */     if (obj instanceof byte[])
/*  801 */       return str((byte[])obj, charset); 
/*  803 */     if (obj instanceof Byte[]) {
/*  805 */       byte[] bytes = ArrayUtils.toPrimitive((Byte[])obj);
/*  806 */       return str(bytes, charset);
/*      */     } 
/*  808 */     if (obj instanceof ByteBuffer)
/*  810 */       return str((ByteBuffer)obj, charset); 
/*  812 */     return obj.toString();
/*      */   }
/*      */   
/*      */   public static String str(byte[] bytes, String charset) {
/*  824 */     return str(bytes, MyStringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset));
/*      */   }
/*      */   
/*      */   public static String str(byte[] data, Charset charset) {
/*  836 */     if (data == null)
/*  838 */       return null; 
/*  841 */     if (null == charset)
/*  843 */       return new String(data); 
/*  845 */     return new String(data, charset);
/*      */   }
/*      */   
/*      */   public static String str(ByteBuffer data, String charset) {
/*  857 */     if (data == null)
/*  859 */       return null; 
/*  862 */     return str(data, Charset.forName(charset));
/*      */   }
/*      */   
/*      */   public static String str(ByteBuffer data, Charset charset) {
/*  874 */     if (null == charset)
/*  876 */       charset = Charset.defaultCharset(); 
/*  878 */     return charset.decode(data).toString();
/*      */   }
/*      */   
/*      */   public static String toSBC(String input) {
/*  890 */     return toSBC(input, null);
/*      */   }
/*      */   
/*      */   public static String toSBC(String input, Set<Character> notConvertSet) {
/*  902 */     char[] c = input.toCharArray();
/*  903 */     for (int i = 0; i < c.length; i++) {
/*  905 */       if (null == notConvertSet || !notConvertSet.contains(Character.valueOf(c[i])))
/*  911 */         if (c[i] == ' ') {
/*  913 */           c[i] = '　';
/*  915 */         } else if (c[i] < '') {
/*  917 */           c[i] = (char)(c[i] + 65248);
/*      */         }  
/*      */     } 
/*  921 */     return new String(c);
/*      */   }
/*      */   
/*      */   public static String toDBC(String input) {
/*  932 */     return toDBC(input, null);
/*      */   }
/*      */   
/*      */   public static String toDBC(String text, Set<Character> notConvertSet) {
/*  944 */     char[] c = text.toCharArray();
/*  945 */     for (int i = 0; i < c.length; i++) {
/*  947 */       if (null == notConvertSet || !notConvertSet.contains(Character.valueOf(c[i])))
/*  953 */         if (c[i] == '　') {
/*  955 */           c[i] = ' ';
/*  957 */         } else if (c[i] > '＀' && c[i] < '｟') {
/*  959 */           c[i] = (char)(c[i] - 65248);
/*      */         }  
/*      */     } 
/*  962 */     String returnString = new String(c);
/*  964 */     return returnString;
/*      */   }
/*      */   
/*      */   public static String digitUppercase(double n) {
/*  975 */     String[] fraction = { "角", "分" };
/*  976 */     String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
/*  977 */     String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } };
/*  979 */     String head = (n < 0.0D) ? "负" : "";
/*  980 */     n = Math.abs(n);
/*  982 */     String s = "";
/*  983 */     for (int i = 0; i < fraction.length; i++)
/*  985 */       s = s + (digit[(int)(Math.floor(n * 10.0D * Math.pow(10.0D, i)) % 10.0D)] + fraction[i]).replaceAll("(零.)+", ""); 
/*  987 */     if (s.length() < 1)
/*  989 */       s = "整"; 
/*  991 */     int integerPart = (int)Math.floor(n);
/*  993 */     for (int j = 0; j < (unit[0]).length && integerPart > 0; j++) {
/*  995 */       String p = "";
/*  996 */       for (int k = 0; k < (unit[1]).length && n > 0.0D; k++) {
/*  998 */         p = digit[integerPart % 10] + unit[1][k] + p;
/*  999 */         integerPart /= 10;
/*      */       } 
/* 1001 */       s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][j] + s;
/*      */     } 
/* 1003 */     return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
/*      */   }
/*      */ }


/* Location:              D:\tmp\creditorRights-admin\BOOT-INF\lib\creditorRights-common-4.7.0.jar!\com\cr\common\core\text\Convert.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */